Full Object Photogrammetry

While the last few photogrammetry projects have captured the object in 360° they’ve all had a flat base which was effectively the bit that was sitting on the scanning turntable. I then wondered if it was possible to scan objects without a flat base, something like a ball or fruit like an apple.

Some years ago I got involved in a project where the customer wanted to view an object online in a full 360° in all axes – expensive jewellery if I remember correctly . This wasn’t a 3D scan, just a series of photos that could be controlled using a mouse to give the illusion of an all round view. This sort of thing is often used on car websites but only to rotate the car round one axis. Our suggestion was to photograph the object on some supports, post process the images to remove the supports and then using some sort of JavaScript component to display the model on a web page. Unfortunately we didn’t win the job so I don’t 100% know whether it would have worked but I still think that it was about the only sensible way of doing it.

I decided to try a something similar with my photogrammetry rig and turned a small cone that fitted into the top of the turntable so that I could get the camera in underneath the object – a pear in this case. I also used a long ( clean 🙂 ) woodscrew to hold the pear above the small cone so that I could get as much detail of the bottom as possible.

My plan was to edit the final model in Meshlab to remove the screw and then close the resulting hole to make a manifold or watertight model.

Attempt #1

My first attempt was with my usual openMVG / MVE processing setup and, although the sparse point cloud looked fine, the dense reconstruction ( centre below ) had more spurious artifacts than I expected around the stalk at the top and where the screw entered at the bottom.

To be honest I’m not entirely sure why this happened. I took four sets of 36 photographs each at different heights much the same as I’d done with earlier models. I thought that the top artifacts might be due to the background of the light tent being interpreted as structure but this isn’t shown on the sparse reconstruction. I also tried the dense reconstruction at a higher resolution ( “filterWidth=11”, right above ) but it had even more artifacts.

Final edited model

Editing out the artifacts wasn’t too difficult and took about 15 minutes using Meshlab. However this amount of post-processing has a couple of drawbacks. Firstly I’m the world’s laziest editor, either of 3D scans or photos or whatever, I’d much rather write a script than manually edit stuff. Secondly once I’ve finished editing I inevitably find some small problem that can only be fixed by going back and rerunning the scanning software which means that all my lovely edits get lost 😦

Attempt #2 – openMVS

openMVS reconstruction

At this point I had pretty much resigned myself to doing these edits but I’ve also recently been testing out a new dense reconstruction tool called openMVS. Out of interest I ran the pear model through it and, to my slight surprise, although the reconstruction took longer it was much cleaner than using MVE. ( There were some artifacts above the model not shown here but these were completely detached and could probably be removed with a single Meshlab command ) Even the entry point of the screw was much cleaner and would be easier to edit out. I intend to write a longer post about the use of openMVS but I thought that it was worth including this initial result because it’s a big improvement. The final 3D image can be viewed on my demo site.

Updated 2/5/19:

This is the final, edited version, uploaded to Sketchfab:

Conclusions

Again this was an interesting experiment with a few conclusions:

  1. It is possible to capture a photgrammetry scan in 360° in all axes with a small amount of final editing needed.
  2. I wonder about the possibility of using a support that has a very different colour from the object being scanned? In this way even the final editing could be scripted or maybe just use Meshlab’s “Select faces by colour” command. It merits further investigation.
  3. openMVS seems to do a better job of the dense reconstruction than MVE in this case even though it took longer.

 

1 thought on “Full Object Photogrammetry

  1. Pingback: Photogrammetry with Free & Open Source Software ( FOSS ) | The Retired Engineer

Leave a comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.